package com.github.base.service;

import com.github.base.dto.user.UserAddDTO;
import com.github.base.dto.user.UserListDTO;
import com.github.base.dto.user.UserUpdateDTO;
import com.github.base.vo.user.UserInfoVO;
import com.github.base.vo.user.UserListVO;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;

public interface UserService {

    /**
     * 用户信息保存
     * @param dto
     */
    void save(UserAddDTO dto);

    /**
     * 用户信息分页查询
     * @param userListDTO
     * @return
     */
    Page<UserListVO> pageList(UserListDTO userListDTO);

    /**
     * 修改
     * @param userUpdateDTO
     */
    void update(UserUpdateDTO userUpdateDTO);

    /**
     * 重置密码
     * @param id
     */
    void resetPassword(Long id);

    /**
     * 删除
     * @param id
     */
    void delete(Long id);

    /**
     * 切换状态
     * @param id
     */
    void switchState(Long id);

    UserInfoVO currentInfo();
}
